package com.fg.cloud.manager.mapper.product;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.fg.cloud.manager.entry.product.ProductSkuEntity;
import com.fg.cloud.manager.entry.product.vo.ProductSkuVo;
import com.fg.cloud.manager.mapper.BaseMapper;

/**
 * @author liushengchao
 * @Description: 商品SKU信息 
 * @date 2017年6月26日上午11:01:52
 *
 */
public interface ProductSkuMapper extends BaseMapper{
	
	long delByfacId(@Param("facId")Long facId);
	
	/**
	 * @Description: 通过商品ID查询SKU信息 
	 * @return List<ProductSkuEntity> SKU信息列表
	 * @author liushengchao
	 * @date 2017年6月26日上午11:19:18
	 * @throws 
	 *
	 */
    public List<ProductSkuEntity> selectByProId(@Param("productId")Long productId);
    
    /**
     * @Description: 修改SKU价格 
     * @param productPrice SKU价格
     * @param id  SKU ID
     * @return int
     * @author liushengchao
     * @date 2017年6月27日下午5:44:32
     * @throws 
     *
     */
    public int updatePrice(@Param("productPrice")BigDecimal productPrice , @Param("id")Long id);
    
    /**
     * Description:SKU上下架
     * @param id SKUid
     * @param ground 上架或下架（0 下架 1 上架）
     * @return
     * @author liushengchao
     * @date 2017年8月7日下午5:44:47
    */
    public int productUpAndDown(Long id , int ground);
   
    /**
     * Description:逻辑删除商品SKU
     * @param id SKUid
     * @return
     * @author liushengchao
     * @date 2017年8月7日下午5:47:18
    */
    public int deleteSku(Long id);
    
    
    public int batchDelete(@Param("ids")String [] ids);
    
    public List<ProductSkuVo> findSkuforOrder(@Param("skuList")List<Map<String,Long>> skuIdList);
    
    /**
     * Description:查询单个SKU信息
     * @param id
     * @author liushengchao
     * @date  2017年10月16日下午3:13:41
     */
    public ProductSkuVo findSku(Long id);
    
    /**
     * Description:验证订单详情商品
     * @param skuIdList 订单商品skuID
     * @param ageId 经销商ID
     * @param tableName 表名
     * @author liushengchao
     * @date  2017年10月25日下午3:01:20
     */
    public List<ProductSkuVo> selectForOder(@Param("skuList")List<Map<String,Long>> skuIdList
    		,@Param("ageId")Long ageId,@Param("tableName")String tableName);
    
    
    public int batchUpdate(@Param("id")Long id,@Param("productId")Long productId);
}